package com.enjava;


import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.RequestScoped;
import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;
import javax.persistence.Query;

import com.enjava.Curso;
import com.enjava.EMF;

@ManagedBean(name="cursoBean")
@RequestScoped
public class CursosBean {

	List<Curso> cursos = new ArrayList<Curso>();
	Curso curso = new Curso();
	String nombreCurso;
	
	@ManagedProperty(value = "#{emf}")
	EMF emf;

	public CursosBean() {
	}

	public List<Curso> getCursos() {
		return cursos;
	}

	public void setCursos(List<Curso> cursos) {
		this.cursos = cursos;
	}

	public Curso getCurso() {
		return curso;
	}

	public void setCurso(Curso curso) {
		this.curso = curso;
	}

	public EMF getEmf() {
		return emf;
	}

	public void setEmf(EMF emf) {
		this.emf = emf;
	}
	
	
	
	public String getNombreCurso() {
		return nombreCurso;
	}

	public void setNombreCurso(String nombreCurso) {
		this.nombreCurso = nombreCurso;
	}

	public String listaCursos(){
		
		System.out.println("pinta cursos");
		
		EntityManager em = emf.getEM();
		
		Query sql = em.createQuery("SELECT Curso FROM Curso Curso");
		cursos = sql.getResultList();
		System.out.println(cursos);
		return "listadoCursos";
	}
	
	public String guardarNuevoCurso(){
		return "nuevoCurso";
	}
	
	public String persistirCurso(){

//		Curso nuevoCurso = new Curso();
//		nuevoCurso.setNombre(nombreCurso);
		EntityManager em = emf.getEM();
		
		EntityTransaction transaccion = em.getTransaction();
		transaccion.begin();
		em.persist(curso);
		transaccion.commit();
		
		return "home";
	}
	
}
